=begin pod

=TITLE class Submethod

=SUBTITLE Member function that is not inherited by subclasses

    class Submethod is Routine {}

A Submethod is a method that is not inherited by child classes. They are
typically used for per-class initialization and tear-down tasks which are
called explicitly per class in an inheritance tree, usually for enforcing a
particular order. For example object construction with the C<BUILD> submethod
happens from the least-derived to most-derived, so that the most-derived
(child) classes can depend on the parent already being initialized.

Submethods are of type C<Submethod>, and are declared with the C<submethod>
declarator:

    class Area {
        has $.size;
        submethod BUILD(:$x, :$y, :$z) {
            $!size = $x * $y * $z;
        }
    }

=head1 Methods

=comment TODO

=end pod

# vim: expandtab softtabstop=4 shiftwidth=4 ft=perl6
